"""
Copyright (C) 2014, 申瑞珉 (Ruimin Shen)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
"""

import os
import platform
import sqlite3


def update_row(config, rowID, columns, rowData):
    path = os.path.expandvars(config.get('database', 'file.' + platform.system()))
    conn = sqlite3.connect(path)
    conn.isolation_level = None  # Enable automatic commit
    cursor = conn.cursor()
    table = config.get('database', 'table')
    _columns = ','.join(['"%s"=?' % column for column in columns])
    cursor.execute('UPDATE %s SET %s WHERE rowid=%u' % (table, _columns, rowID), rowData)
